//Generate data set of time-invariant characteristics
odbc load, exec("select LopNr_PersonNr, FodelseLandnamn, FodelseTidMor, FodelseLandnamnMor, FodelseTidFar, FodelseLandnamnFar from dbo.Fodelseland") dsn("[Project]") clear
duplicates drop LopNr_PersonNr, force
destring, replace
save "[Folder]\Fodelseland.dta", replace


clear all
odbc load, exec("select * from dbo.InvUtv") dsn("[Project]") clear

duplicates drop
destring, replace

sort LopNr_PersonNr InvUtvManad
by LopNr_PersonNr: gen index=_n
gen PostTyp_Num=0
replace PostTyp_Num=1 if PostTyp=="Inv"
drop PostTyp

reshape wide InvUtvLand InvUtvManad PostTyp_Num  , i(LopNr_PersonNr ) j(index)

drop InvUtvLand4-InvUtvLand40 
drop InvUtvManad40 PostTyp_Num40

merge 1:1 LopNr_PersonNr using "[Folder]\Fodelseland.dta"
drop _merge

gen Inv1=InvUtvManad1 if PostTyp_Num1==1 & FodelseLandnamn!=107 
replace Inv1 = InvUtvManad2 if PostTyp_Num2==1 & missing(Inv1) & FodelseLandnamn!=107
gen Utv1=InvUtvManad1 if PostTyp_Num1==0 & FodelseLandnamn!=107
replace Utv1=InvUtvManad2 if PostTyp_Num2==0 & FodelseLandnamn!=107 & missing(Utv1)
replace Utv1=InvUtvManad3 if PostTyp_Num1==1 & PostTyp_Num2==1 & PostTyp_Num3==0 & FodelseLandnamn!=107
recode FodelseL* (89=43) (126=125) (102=94) (98=97) (115=114) 
keep Inv1 Utv1 LopNr_PersonNr FodelseLandnamn FodelseTidMor FodelseLandnamnMor FodelseTidFar FodelseLandnamnFar
nsplit Inv1, digits(4 2) generate(InvAr InvMan)
nsplit Utv1, digits(4 2) generate(UtvAr UtvMan)


drop InvMan UtvMan Inv1 Utv1 



save "[Folder]\TimeInv_Ind.dta", replace

